Creating scenarios for Legal Crime

 

General

The scenario files contain the rules that govern the scenario ­ who wins when certain conditions are met, what units are placed on the map on the beginning, what other properties they players and the units have eta.

When you create a scenario file, name it anything you wish, and use the suffix .SCE. Place the file in the Scenarios directory, which is located in the same directory with the game itself.

NOTE! You can play custom-made scenarios only with a licensed version of Legal Crime. Demo version allows only to play the scenarios already in the game!

Format

The format for the scenario files is:

EPI_VER10
FUNDS <amount>
MAP <name>
RANDOM <state>

PLAYER <NR> <type> <hq> <name>

VCOND <NR> ....

UNIT <type> <OWNER_NR> <X> <Y> <NOSALARY> <STATIONARY> [<NAME>]

ALLIANCE <PLAYER_ID1> <PLAYER_ID2>

BRIBEADVANCE <PLAYER_ID> <TYPE> <IOULEVEL> <CUMULATIVELEVEL>

SCENARIONAME { <the text> }
STORYTEXT { <the text> }
SUCCESSTEXT { <the text> }
FAILURETEXT { <the text> }
OBJECTIVETEXT { <the text> }
TIPTEXT { <the text > }

 

Example

EPI_VER10
FUNDS 1000000
MAP ThreeBlocks.map
RANDOM 0

PLAYER 1 0 0 User
PLAYER 2 6 1 Rodolfo
PLAYER 3 6 1 Cassandra
PLAYER 4 6 1 Pallone

VCOND 3 1 12

UNIT 12 2 19 50 0 1 Don Rodolfo
UNIT 12 3 92 86 0 1 Don Cassandra
UNIT 12 4 91 14 0 1 Don Pallone
UNIT 5 1 44 49 0 0
UNIT 2 2 7 55 0 0
UNIT 2 3 80 91 0 0
UNIT 2 4 80 19 0 0
UNIT 4 2 37 23 0 1
UNIT 4 2 37 74 0 1
UNIT 4 2 3 24 0 1
UNIT 4 2 3 75 0 1
UNIT 4 3 52 68 0 1
UNIT 4 3 52 96 0 1
UNIT 4 3 93 68 0 1
UNIT 4 4 51 5 0 1
UNIT 4 4 51 31 0 1
UNIT 4 4 99 29 0 1
UNIT 1 2 20 47 0 0
UNIT 1 2 20 50 0 0
UNIT 1 3 92 84 0 0
UNIT 1 3 92 87 0 0
UNIT 1 4 92 11 0 0
UNIT 1 4 92 14 0 0
UNIT 3 2 27 43 0 0
UNIT 3 3 94 79 0 0
UNIT 3 4 94 19 0 0

SCENARIONAME {Drive-by shooting}

STORYTEXT {Cassandra, whose empire is as strong or even stronger than yours, was behind your assassination attempt, along with his allies, Don Pallone and Don Rodolfo.

You're hungry for revenge and decide to assassinate all these three enemies. You are far from your own HQ and have no other tools than a Cadillac with 4 Thompson men inside...}

TIPTEXT {There are three Dons, be sure to kill them all. But you have no real reason to kill all the other gangsters, except maybe for your pleasure. Note that you can unload the Cadillac if it goes in too bad a shape (but the unloading must take place before the car breaks down).

The Cadillac is fast, use this feature to your advantage. And remember that the terrorist can destroy the car with ine bomb! Stay away from them!

Have fun!}

OBJECTIVETEXT {Murder Cassandra, Pallone and Rodolfo}

SUCCESSTEXT {Success!

Wasn't it fun to do some drive-by-shooting? You sent the poor fellows to a one-way ride, good job!}

FAILURETEXT {Your revenge failed. Too bad.

Revenge is sweet, but don't get carried away... Remember, try not to stop, especially not near terrorists.}

A more detailed description of each command follows:

EPI_VER<VERSION>

The version number of the episode.

<VERSION> The version number.

Example
 EPI_VER10

FUNDS <AMOUNT>

Starting funds for each player. The funds can not yet be set individually - the amount is the same for each player.

Example
 FUNDS 200000

MAP <name>

The map to be played on. The map file must be present in the Maps directory.

Example
MAP Rivers.map

RANDOM <STATE>

Determines wheter starting points for this map are random or pre-defined (later in this file).
1 = random starting points
0 = pre-defined starting points

Example
RANDOM 1

PLAYER <NR> <TYPE> <HQ> <NAME>

Places players on the map. The players are placed to the headquaters in the same order the HQs appear in the map file. So the first player gets the first HQ, the second the second etc. Unless random starting points are enables, see RANDOM.

<NR> Player ID. Must be unique for each player.

<TYPE> Player type:

0 = Human (only one/scenario for now)
1 = computer player (skill level 0)
2 = computer player (skill level 1)
3 = computer player (skill level 2)
4 = computer player (skill level 3, normal)
5= computer player (for starting wirh funds=0)
6= computer player (Rusher)

<HQ> Determines whether the player has a HQ or not.

0 = no HQ
1 = has a HQ

<NAME> Player name. Random if not supplied.

Example
PLAYER 1 0 0 User
PLAYER 2 6 1 Compuzetti

VCOND <NR> ....

Determines the conditions under which the game ends. Note that regardless of these rules, if all players except one are dead, the one left wins the game. If there are more than one VCONDs, a player will win if any of the conditions are met.

VCOND 1 <PLAYER_ID> <AMOUNT>

Player wins when PLAYER_ID's income is at least AMOUNT.

<PLAYER_ID> Player's unique ID number.
<AMOUNT> Desired income

Example
VCOND 1 1 500000

VCOND 2 <PLAYER_ID> <NR> <BUSINESS_AREA>

Player wins when nr of own businesses in BUSINESS_AREA >= NR. See list of businesses.

<PLAYER_ID> Player's unique ID number.
<NR> Desired number of businesses
<BUSINESS_AREA> The branch of business. See list of businesses.

Example
VCOND 2 1 5 1

VCOND 3 <PLAYER_ID> <UNR>

Player wins when the given player doesn't have the given unit type. See list of units.

<PLAYER_ID> Player's unique ID number.
<UNR> Unit number. See list of units.

Example
VCOND 3 1 2

VCOND 4 <PLAYER_ID> <UNR>

Player wins when the given player has the given unit type. See list of units.

<PLAYER_ID> Player's unique ID number.
<UNR> Unit number. See list of units.

Example
VCOND 4 1 5

VCOND 5 <PLAYER_ID> <MS> <BUSINESS_AREA>

Player wins when player'smarket share in BUSINESS_AREA >= MS. MS is floating point value between 0...1 representing market share. See a list of business areas.

<PLAYER_ID> Player's unique ID number.
<MS> Desired market share
<BUSINESS_AREA> The branch of business. See list of business areas.

Example
VCOND 5 0.10 2

VCOND 6 <PLAYER_ID> <AREA_LEVEL>

Player wins when player is able to place business in the given level area.

<PLAYER_ID> Player's unique ID number.
<AREA_LEVEL> The area where businesses must be founded.

0 = Slum
1 = Middle class
2 = Center
3 = Any

Example
VCOND 6 1 2

VCOND 7 <PLAYER_ID> <X> <Y> <MAXDIST> <UNR>

Player wins when player has a gangster of type UNR nearer than MAXDIST from (X, Y). See list of units.

<PLAYER_ID> Player's unique ID number.
<X> X-cordinate
<Y> Y-cordinate
<MAXDIST> Maximum distance from target.
<UNR> Unit number. See list of units.

Example
VCOND 7 1 29 33 5 12

VCOND 8 <PLAYER_ID> <ULC_X> <ULC_Y> <LRC_X> <LRC_Y> <BUSINESS_AREA> <NR>

<PLAYER_ID> Player's unique ID number.
<ULC_X> Upper left-hand corner of the rectangle
<ULC_Y>
Upper right-hand corner of the rectangle
<LRC_X>
Lower left-hand corner of the rectangle
<LRC_Y>
Lower right-hand corner of the rectangle
<BUSINESS_AREA>
Branch of business. See list of business areas.
<NR>
Number of businesses

Wins when player has NR BUSINESS_AREA type businesses within rectangle (ULC_X, ULC_Y), (LRC_X, LRC_Y). ULC = upper left hand corner, LRC = lower right hand corner. See list of business areas.

Example
VCOND 8 1 10 15 25 40 2 5

VCOND 9 <PLAYED_ID> <UNR> <NR>

Player wins when the nr of units with given type is below NR. See list of units.

<PLAYER_ID> Player's unique ID number.
<UNR> Unit number. See list of units.
<NR> Required number of units.

Example
VCOND 9 2 2 5

UNIT <UNR> <OWNER_NR> <X-COORD> <Y-COORD> <HASSALARY> <STATIONARY> [<NAME>]

Places a unit on the map.

<UNR> Unit number. See list of units.
<OWNER_NR> the ID of the unit owner. 0=neutral
<X-COORD> X-cordinate of the unit
<Y-COORD> Y-cordinat of the unit
<HASSALARY> 0 = no salary, 1 = normal salary
<STATIONARY> 0 = normal unit, 1 = computer player does not move this unit (does not affect human player's units)
<NAME> Unit name, optional. Random if not supplied.

Example
UNIT 12 1 15 15 1 1 Don Carlos

ALLIANCE <PLAYER_ID1> <PLAYER_ID2>

Creates an alliance between two players. If you need an alliance with more players, use several ALLIANCE commands.

<PLAYER_ID1> First player's ID number.
<PLAYER_ID2> Second player's ID number.

Example
ALLIANCE 1 2


BRIBEADVANCE <PLAYER_ID> <TYPE> <IOULEVEL> <CUMULATIVELEVEL>

Initialize player's bribeadvance level.

<PLAYER_ID> Player's unique ID number.
<PLAYER_ID> Player number
<TYPE> type of bribe:

1 = ARMY
2 = FBI
3 = GOVT
4 = POLICE

<IOULEVEL> the requested level of IOU points
<CUMULATIVELEVEL> the cumulative amount of bribes requested.

Example
BRIBEADVANCE 1 2 150 15000000

SCENARIONAME { <the text> }

The name of the scenario. Muista rivivälit!

Example
SCENARIONAME {The Combat}

STORYTEXT { <the text> }

Scenario story, visible at the beginning of the scenario.

Example
STORYTEXT {Welcome to the Combat!}

SUCCESSTEXT { <the text> }

Text displayed after successful completition of the scenario.

Example
SUCCESSTEXT {Congratulations!}

FAILURETEXT { <the text> }

Text displayed after failure in the scenario.

Example
FAILURETEXT {Failure!}

OBJECTIVETEXT { <the text> }

Scenario objective.

Example
OBJECTIVETEXT {Kill the enemy.}

TIPTEXT { <the text > }

Scenario tips.

Example
TIPTEXT {Don't forget to defend yourself.}

List of units

0 = Thug
1 = Pistol man
2 = Thompson man
3 = Terrorist
4 = Sniper
5 = Cadillac
7 = Collector
8 = Shotgun man
9 = Hit man
11 = Thief
12 = Godfather

List of businesses

0 = extortion
1 = bootlegging
2 = entertainment
3 = gambling
4 = troubleshooting
5 = support
6 = any